import java.util.Random;
import java.awt.Color;
import java.awt.Color.*;
import javax.swing.JComponent;
import javax.swing.JPanel;
public class Bakterium extends Lebewesen
{
    private Random zufall;
    private double bwachstumsrate;
    public Bakterium (Raster g, int x, int y, double bwachstumsrate0)
    {
        super(g, x, y);
        bwachstumsrate=bwachstumsrate0;
        zufall=new Random();
    }

    public boolean PilzinderNähe()
    {
        for(int i=x-2;i<=x+2;i++) 
        {
            for (int j=y-2;j<=y+2;j++)
            {
                if (grid.matrix(i,j) instanceof Schimmelpilz) {
                    return true;
                }
            }
        }
        return false;
    }

    public void vermehre()
    {
        if(! PilzinderNähe())

        {
            for(int i=x-1;i<=x+1;i++) for (int j=y-1;j<=y+1;j++)
                {
                    if (zufall.nextDouble() < bwachstumsrate &&  grid.matrix(i,j) instanceof Leer) 
                    {
                        grid.getMatrix()[i][j] = new Bakterium(this.grid,i,j, bwachstumsrate);
                    }
                    //else: vermehrt sich in benachbartes freies Feld

            }
            
        }
        else grid.getMatrix()[x][y] = new Leer(grid, x, y);
    }

    public void setzeWachstum(double b0)    
    {
        bwachstumsrate=b0;
    }

    public double gibWachstum()
    {
        return bwachstumsrate;
    }
}
